home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK2.toast / Development Kits (Disc 2) / ScriptX / Code Samples / autofind / source / switch.sx < prev    next >
Encoding:
Text File  |  1996-05-21  |  2.0 KB  |  110 lines  |  [TEXT/ttxt]

  1. in module Autofinder
  2.  
  3. if NOT (isdefined Button) do filein theScriptdir name:"button.sx"
  4.  
  5. class Switch (Button)
  6. inst vars
  7.     toggledOnBitmap
  8.     toggledOffBitmap
  9. end
  10.  
  11. method init self {class Switch} #rest args \
  12.                                 #key toggledOnBitmap:(undefined) \
  13.                                      toggledOffBitmap:(undefined) ->
  14. (
  15.     apply nextmethod self args
  16.     
  17.     self.toggledOnBitmap := toggledOnBitmap
  18.     self.toggledOffBitmap := toggledOffBitmap
  19.  
  20.     self
  21. )
  22.  
  23. method afterInit self {class Switch} #rest args ->
  24. (
  25.     nextmethod self
  26.     setToggledOffAppearance self
  27.     self
  28. )
  29.  
  30. method handlePress self {class Switch} ->
  31. (
  32.     if (self.pressAction != undefined) do
  33.         self.pressAction self.authordata self self.toggledOn
  34. )
  35.  
  36. method handleRelease self {class Switch} ->
  37. (
  38.     if (self.releaseAction != undefined) do
  39.         self.releaseAction self.authordata self self.toggledOn
  40. )
  41.  
  42. method handleActivate self {class Switch} ->
  43. (
  44.     if (self.activateAction != undefined) do
  45.         self.activateAction self.authordata self self.toggledOn
  46. )
  47.  
  48. method handleMultiActivate self {class Switch} n ->
  49. (
  50.     if (self.multiActivateAction != undefined) do
  51.         self.multiActivateAction self.authordata self n self.toggledOn
  52. )
  53.  
  54. method setToggledOnAppearance self {class Switch} ->
  55. (
  56.     if (self.toggledOnBitmap != undefined) do
  57.         self.boundary := self.toggledOnBitmap
  58. )
  59.  
  60. method setToggledOffAppearance self {class Switch} ->
  61. (
  62.     if (self.toggledOffBitmap != undefined) do
  63.     (
  64.         self.boundary := self.toggledOffBitmap
  65.         -- NOTE!!  THIS IS DUE TO BUG #4172!!  11/14
  66.         self.fill := undefined
  67.     )
  68. )
  69.  
  70. method setReleasedAppearance self {class Switch} ->
  71. (
  72.     if self.toggledOn then    
  73.         toggleOn self
  74.     else
  75.         toggleOff self
  76. )
  77.  
  78. method setActivatedAppearance self {class Switch} ->
  79. (
  80.     if self.toggledOn then    
  81.         toggleOff self
  82.     else
  83.         toggleOn self
  84. )
  85.  
  86. method toggleOn self {class Switch} ->
  87. (
  88.     if not self.enabled do
  89.         return
  90.         
  91.     nextmethod self
  92.     
  93.     setToggledOnAppearance self
  94. )
  95.  
  96. method toggleOff self {class Switch} ->
  97. (
  98.     if not self.enabled do
  99.         return
  100.         
  101.     nextmethod self
  102.     
  103.     setToggledOffAppearance self
  104. )
  105.  
  106.  
  107.  
  108.  
  109.  
  110.